/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.examat.web.beans;

import java.util.HashSet;
import javax.inject.Named;
import javax.enterprise.context.ApplicationScoped;
import javax.faces.bean.ManagedBean;
import org.examat.entidades.Alumno;
import org.examat.entidades.Profesor;
import org.examat.web.controladores.util.Sesiones;
/**
 *
 * @author Fer
 */

@Named
@ApplicationScoped
public class ControlUsuariosBean 
{
    private HashSet<String> usuariosLoggeados;
    
    public ControlUsuariosBean()
    {
        this.usuariosLoggeados = new HashSet<String>();
        System.out.println("Inicializado control de usuarios");
    }
    
    private boolean agregaUsuario(String claveUnica)
    {
        return this.usuariosLoggeados.add(claveUnica);
    }
    
    private boolean remueveUsuario(String claveUnica)
    {
        return this.usuariosLoggeados.remove(claveUnica);
    }
    
    public boolean estaLoggeado(String claveUnica)
    {
        return this.usuariosLoggeados.contains(claveUnica); 
    }
    
    public boolean logout()
    {
        boolean res;
        res = this.remueveUsuario(Sesiones.get("user_claveunica").toString());
        Sesiones.destroySession();
        return res;
    }
    
    public void login(Profesor p)
    {
        Sesiones.set("user_name", p.getNombre());
        Sesiones.set("user_type", "profesor");
        Sesiones.set("user_claveunica",p.getClaveUnica());
    }
    
    public void login(Alumno al)
    {
        Sesiones.set("user_name", al.getNombre());
        Sesiones.set("user_type", "alumno");
        Sesiones.set("user_claveunica",al.getClaveUnica());
    }
}
